package com.digital.smartgrow.entity.datacenter;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 教师基本信息
 * </p>
 *
 * @author xiewb
 * @since 2022-04-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("teacher")
@ApiModel(value="Teacher对象", description="教师基本信息")
public class Teacher implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "职工号")
    @TableField("employeeId")
    private String employeeId;

    @JsonIgnore
    @ApiModelProperty(value = "密码")
    @TableField("password")
    private String password;

    @JsonIgnore
    @ApiModelProperty(value = "MD5密钥")
    @TableField("salt")
    private String salt;

    @ApiModelProperty(value = "姓名")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "曾用名")
    @TableField("usedName")
    private String usedName;

    @ApiModelProperty(value = "姓名拼音")
    @TableField("spellName")
    private String spellName;

    @ApiModelProperty(value = "性别")
    @TableField("gender")
    private String gender;

    @ApiModelProperty(value = "出生日期")
    @TableField("birthDate")
    private String birthDate;

    @ApiModelProperty(value = "年龄")
    @TableField("age")
    private String age;

    @ApiModelProperty(value = "出生地")
    @TableField("birthPlace")
    private String birthPlace;

    @ApiModelProperty(value = "籍贯")
    @TableField("nativePlace")
    private String nativePlace;

    @ApiModelProperty(value = "国家")
    @TableField("country")
    private String country;

    @ApiModelProperty(value = "民族")
    @TableField("national")
    private String national;

    @ApiModelProperty(value = "身份证件类型")
    @TableField("identityType")
    private String identityType;

    @ApiModelProperty(value = "证件号码")
    @TableField("identityNumber")
    private String identityNumber;

    @ApiModelProperty(value = "健康状况")
    @TableField("health")
    private String health;

    @ApiModelProperty(value = "婚姻状况")
    @TableField("maritalStatus")
    private String maritalStatus;

    @ApiModelProperty(value = "参加工作年月")
    @TableField("employmentDate")
    private String employmentDate;

    @ApiModelProperty(value = "从教年月")
    @TableField("teachDate")
    private String teachDate;

    @ApiModelProperty(value = "政治面貌")
    @TableField("politicsStatus")
    private String politicsStatus;

    @ApiModelProperty(value = "参加党派时间")
    @TableField("partyDate")
    private String partyDate;

    @ApiModelProperty(value = "来校年月")
    @TableField("schoolDate")
    private String schoolDate;

    @ApiModelProperty(value = "所在单位")
    @TableField("company")
    private String company;

    @ApiModelProperty(value = "编制类别")
    @TableField("staffType")
    private String staffType;

    @ApiModelProperty(value = "教职工来源")
    @TableField("employeeSource")
    private String employeeSource;

    @ApiModelProperty(value = "教职工类别")
    @TableField("employeeType")
    private String employeeType;

    @ApiModelProperty(value = "聘任类别")
    @TableField("appointmentType")
    private String appointmentType;

    @ApiModelProperty(value = "用人方式")
    @TableField("useWay")
    private String useWay;

    @ApiModelProperty(value = "当前状态")
    @TableField("status")
    private String status;

    @ApiModelProperty(value = "数据类别")
    @TableField("dataType")
    private String dataType;


    @ApiModelProperty(value = "token")
    @TableField(exist = false)
    private String token;
    //--------
    @ApiModelProperty(value = "token")
    @TableField(exist = false)
    private Boolean isExport=false;

}
